import sys
from PySide2.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QTabWidget, QLabel, QPushButton

from test2.tab.graph_tab import GraphTab
from test2.tab.home_tab import HomeTab


class TabWidget(QTabWidget):
    def __init__(self, parent=None):
        super(TabWidget, self).__init__(parent)
        self.initUI()

    def initUI(self):
        # 创建一个选项卡控件并添加到布局器中
        self.setTabsClosable(True)  # 允许关闭标签页
        self.tabCloseRequested.connect(self.closeTab)  # 关联标签页关闭事件

        self.add_home_tab()
        self.add_graph_tab()


    def add_home_tab(self):
        # 创建第一个标签页，包含一个标签和一个按钮
        tab1 = HomeTab()
        self.addTab(tab1, 'Tab 1')
        label1 = QLabel('This is Tab 1')
        tab1.layout = QVBoxLayout(tab1)
        tab1.layout.addWidget(label1)

    def add_graph_tab(self):
        # 创建第一个标签页，包含一个标签和一个按钮
        tab1 = GraphTab()
        self.addTab(tab1, 'Tab 2')
        tab1.layout = QVBoxLayout(tab1)


    def closeTab(self, index):
        # 关闭当前标签页
        if index >= 0:
            self.removeTab(index)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = TabWidget()
    window.show()
    sys.exit(app.exec_())
